Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Manama Challenger Barletta Challenger Split Challenger Tunis Challenger Zagreb Challenger U.S. Open - New York Shanghai Rolex Masters - Shanghai Almaty Open - Almaty BNP Paribas Open - Indian Wells Tiriac Open - Bucharest U.S. Open - New York Portugal F3 Nigeria F1 Nigeria F2 Italy F1 Tunisia F2 Tunisia F3 Spain F17 Spain F18 Romania F16 Portugal #1-w2 Portugal #1-w3 Portugal #1-w4 Spain F31 Portugal #1-w1 Portugal #1-w2 Portugal #1-w3 Portugal #1-w4 Portugal F1 Morocco F1 Morocco F2 Spain F29 Spain F32 Morocco F1 Portugal F3 Portugal F1 Spain F24 Spain F25 Spain F27 Spain F28 Germany F12 Italy F27 Italy F28 Portugal F4 Portugal F5 Spain F39 Spain F41 Spain F42 Italy F1 Portugal F4 Portugal F5 Portugal F6 Spain F13 Italy F13 Portugal F2 Spain F13 Bosnia & Herzegovina F2 Croatia F8 Bosnia/Herzegovina F6 Bosnia/Herzegovina F1 Bosnia & Herzegovina F2 Croatia F7 Croatia F8 Israel F3 Croatia F1 Croatia F2 Italy F6 Italy F7 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Serbia F1 Serbia F2 Serbia F3 Serbia F7 Croatia F7 Croatia F8 Croatia F9 Croatia F10 Croatia F13 Croatia F14 Turkey F32 Turkey F33 Turkey F3 Turkey F4 Croatia F1 Italy F1 Italy F2 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Italy F20 Croatia F11 Croatia F12 Turkey F2 Croatia F1 Croatia F2 Portugal F1 Portugal F2 Portugal F3 Portugal F4 Italy F1 Italy F5 Bulgaria F1 Italy F12 Romania F4 Bosnia & Herzegovina F4 Italy F13 Serbia F3 Italy F15 Poland F3 Poland F4 Poland F5 Portugal F10 Croatia F12 Portugal F11 Peru F2 Peru F3 Portugal F9 Portugal F10 Portugal F11 Italy F3 Sri Lanka F1 Sri Lanka F2 Sri Lanka F3 Portugal F1 Portugal F3 Qatar F1 Qatar F2 Qatar F3 Spain F29 Portugal F12 Spain F33 Tunisia F4 Portugal F1 Portugal F3 Spain F7 Spain F8 Portugal F4 Spain F34 Germany F4 Morocco F2 Great Britain F1 Spain F12 Spain F6 Spain F6 Spain F7 Morocco F2 Portugal F2 Morocco F3 Portugal #1-w1 Spain F32 Croatia F12 Romania F17 Spain F30 Guayaquil Challenger Cancun Challenger Sao Paulo Challenger Rome Challenger Tunis Challenger Prostejov Challenger Lugano Challenger Poznan Challenger Copa Petrobras-Argentina - Buenos Aires Marrakech Challenger San Marino Challenger Szczecin Challenger Como Challenger Madrid Challenger Buenos Aires Challenger Sarajevo Challenger Buenos Aires Challenger Santiago Challenger Sao Paulo Challenger Cordenons Challenger Rijeka Challenger Braunschweig Challenger Copa Petrobras-Paraguay - Asuncion Poznan Challenger Brasov Challenger Athens Challenger Sarajevo Challenger Rome Challenger Santos Challenger Rome Challenger Arad Challenger Banja Luka Challenger Seville Challenger Itajai Challenger Karshi Challenger Samarkand Challenger Prostejov Challenger Kosice Challenger Poznan Challenger Sibiu Challenger Chennai Challenger New Delhi Challenger s'Tennis Masters Challenger - Graz Sao Paulo Challenger Ostrava Challenger Kosice Challenger San Benedetto Challenger Poznan Challenger Tampere Challenger Genova Challenger Genova Challenger Rome Challenger Brasov Challenger Kenitra Challenger Geneva Challenger Bratislava Challenger LXV Concurso Internacional Vigo - Vigo Helsinki Challenger Casablanca Challenger Santo Domingo Challenger Morelos Challenger Tampere Challenger Casablanca Challenger Guayaquil Challenger Buenos Aires Challenger Prostejov Challenger Alphen Challenger Kosice Challenger Mohammedia Challenger Mersin Challenger Bergamo Challenger Santo Domingo Challenger Como Challenger Meknes Challenger Ostrava Challenger Meknes Challenger Kazan Challenger Kolkata Challenger Medellin Challenger Sao Paulo Challenger Alphen Challenger San Luis Potosi Challenger Bratislava Challenger Santos Challenger San Benedetto Challenger Aptos Challenger Vancouver Challenger Milan Challenger New Haven Challenger Bratislava Challenger Bendigo Challenger Barcelona Challenger Lisbon Challenger Belgrade Challenger Rome 2 Challenger Trieste Challenger Open de Montauban - Montauban Barcelona Challenger Bratislava Challenger Mohammedia Challenger Bendigo Challenger Lugano Challenger Zug Challenger Santo Domingo Challenger Banja Luka Challenger Sibiu Challenger Kobe Challenger Noumea Challenger Antalya Challenger Szekesfehervar Challenger Tunis Challenger Salzburg Challenger Banja Luka Challenger Blois Challenger Bratislava 2 Challenger Helsinki Challenger Ottignies-Louvain-la-Neuve Challenger Lille Challenger Ostrava Challenger Mauthausen Challenger Ilkley Challenger Istanbul Challenger Oeiras 3 Challenger Yokohama Challenger Vilnius Challenger Nottingham 2 Challenger Salzburg-Anif Challenger Tulln Challenger Zadar Challenger Ostrava Challenger Sao Paulo Challenger Matsuyama Challenger Heilbronn Challenger Bratislava 1 Challenger Poznan Challenger Mallorca Challenger VIII Open Internacional D'Andorra - Andorra Itajai Challenger Estoril Open - Estoril Montemar Challenger Olbia Challenger - Olbia ECM Prague Open 2005 - Prague Badden Open by Rothaus - Ettlingen Schickendanz Open - Furth Trofeo Internacional Club Laieta - Barcelona Societa Canottieri Mincio 2005 - Mantova Arroyo de la Encomienda - Valladolid 7° Trani Cup - Trani San Marino Cepu Open - San Marino Brasil Open - Costa do Sauipe Antonio Savoldi-Marco Co. - Manerbio San Benedetto Challenger - San Benedetto Brasil Open - Costa do Sauipe XI Ciutat de Barcelona - Barcelona Open Sabadell Atlantico - Barcelona Brasil Open - Costa do Sauipe Napoli Challenger Bancolombia Open - Cali Poznan Challenger San Marino Challenger Estoril Open - Estoril Tunis Open - Tunis Napoli Challenger Cordenons Challenger Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Copa Sevilla Internacionales de Andalucia - Seville Maia Challenger Rabat Challenger Bulgarian Open Challenger - Sofia Grand Prix Hassan II - Casablanca X Ciutat de Barcelona - Barcelona Rosario Challenger Abierto Internacional Varonil Ciudad de Cancun - Cancun ATP Studena Croatia Open - Umag Sao Paulo Challenger Qatar ExxonMobil Open - Doha Bordeaux Challenger Heineken Open - Auckland Cap Cana Challenger Open Diputacion Ciudad de Pozoblanco - Cordoba Prague Challenger Danderyd Challenger San Marino Challenger Brasil Open - Sao Paulo Cordenons Challenger Zadar Challenger Copa Claro - Buenos Aires Lermontov Challenger Santos Challenger Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Tanger Challenger Estoril Open - Estoril Bordeaux Challenger Studena Croatia Open - Umag Banja Luka Challenger Trnava Challenger ATU Cup - Weiden Brest Challenger Rabat Challenger Arad Challenger Bratislava 2 Challenger Portoroz Challenger Cortina Challenger Cordenons Challenger Portugal Open - Oeiras Meknes Challenger Tashkent Challenger Lyon Challenger Andria Challenger Mercedes Cup - Stuttgart Heilbronn Challenger Canberra Challenger Moscow Challenger If Stockholm Open - Stockholm Kremlin Cup - Moscow Sarajevo Challenger Alphen Challenger Meknes Challenger Open 13 - Marseille Lima Challenger Nottingham 2 Challenger Kremlin Cup - Moscow PBZ Zagreb Indoors - Zagreb Manacor Challenger Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Medjurgorje Open - Medjugorje Irving Challenger Guadalajara Challenger Winston-Salem Open - Winston-Salem Delray Beach Open - Delray Beach TEB BNP Paribas Istanbul Open - Istanbul Bordeaux Challenger TEB BNP Paribas Istanbul Open - Istanbul Bet-at-home Open - Hamburg Abierto Mexicano - Los Cabos St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen China Open - Beijing Dubai Duty Free Tennis Championships - Dubai Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo Erste Bank Open - Vienna Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Zhuhai Open - Zhuhai China Open - Beijing Kremlin Cup - Moscow Memorial A. Manfredini Sassuolo Challenger - Sassuolo Qatar ExxonMobil Open - Doha Casablanca Challenger Open Sud de France - Montpellier New York Open - New York Grand Prix Hassan II - Marrakech Abierto Mexicano Telcel - Acapulco bett1HULKS Championships - Cologne Astana Open - Nur-Sultan Zagreb Open - Zagreb Lisbon Challenger Estoril Open - Estoril Nord LB Open - Braunschweig Hamburg European Open - Hamburg Plava Laguna Croatia Open - Umag Erste Bank Open - Vienna Sibiu Challenger Open Sud de France - Montpellier Trani Challenger Estoril Open - Estoril San Marino Challenger Open 13 Provence - Marseille Phoenix Challenger Trnava Challenger Sofia Challenger Serbia Open - Belgrade BMW Open - Munich Turin Challenger Estoril Open - Estoril Tunis Challenger Perugia Challenger Samarkand Challenger Qatar ExxonMobil Open - Doha Millennium Estoril Open - Estoril BH Indoor Sarajevo - Sarajevo Nordea Open - Bastad Marbella Challenger Nottingham 1 Challenger Braunschweig Challenger Japan Open Tennis Championships - Tokyo Meerbusch Challenger Sibiu Challenger Medibank International - Sydney Bergamo Challenger Helsinki Challenger Blumenau Challenger Quimper Challenger Forli 5 Challenger Alessandria Challenger Sao Jose Do Rio Preto Challenger Cordenons Challenger Meerbusch Challenger Orleans Challenger Palermo Challenger Seville Challenger Prague 2 Challenger Movistar Open - Santiago Como Challenger Istanbul Challenger Prostejov Challenger Sao Jose Do Rio Preto Challenger Ismaning Challenger UTC Open by Selena - Cherkassy Lugano Challenger Canberra Challenger Sao Leopoldo Challenger Irving Challenger Estoril Open - Estoril Czech Open - Prostejov Turin Challenger Montevideo Challenger Open de Montauban - Montauban BCR Open Romania - Bucharest Cherbourg Challenger Braunschweig Challenger Bonn Challenger Santo Domingo Challenger Sao Paulo Challenger Tour Finals Erste Bank Open - Vienna Orbetello Challenger Mersin Challenger Delray Beach Open - Delray Beach Asuncion Challenger Grand Prix Hassan II - Casablanca Kenitra Challenger Estoril Open - Estoril Oberstaufen Challenger Kosice Challenger Fergana Challenger - Fergana Guangzhou Challenger Black Forest Open - Freudenstadt Trani Challenger Trnava Challenger Copa Petrobras-Brazil - Aracaju Challenger Copa Sevilla - Seville Liberec Challenger Stockholm Open - Stockholm Tanger Challenger Marrakech Challenger Portugal Open - Oeiras Casablanca Challenger Konzum Croatia Open - Umag ABN AMRO World Tennis Tournament - Rotterdam Akbank Private Banking TED Open - Istanbul Open 13 Provence - Marseille Astana Open - Astana Rio Open - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Nordea Open - Bastad Plava Laguna Croatia Open - Umag Aircel Chennai Open - Chennai Banja Luka Open - Banja Luka Split Challenger Plava Laguna Croatia Open - Umag Brisbane International - Brisbane Hangzhou Open - Hangzhou BRD Nastase Tiriac Trophy - Bucharest Winston-Salem Open - Winston-Salem Aircel Chennai Open - Chennai Argentina Open - Buenos Aires TEB BNP Paribas Istanbul Open - Istanbul Hamburg Open - Hamburg Vegeta Croatia Open - Umag Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Qatar ExxonMobil Open - Doha Apia International - Sydney Garanti Koza Sofia Open - Sofia Memphis Open - Memphis Abierto Mexicano Telcel - Acapulco BRD Nastase Tiriac Trophy - Bucharest Millennium Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Aegon Nottingham Open - Nottingham Challenger Britania Zavaleta - Puebla Winston-Salem Open - Winston-Salem Moselle Open - Metz Kremlin Cup - Moscow Erste Bank Open - Vienna Garanti Koza Sofia Open - Sofia Memphis Open - Memphis Delray Beach Open - Delray Beach Medellin Challenger Dubai Duty Free Tennis Championships - Dubai Hungarian Open - Budapest Open Parc - Lyon Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem Erste Bank Open - Vienna Brisbane International - Brisbane Sydney International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul AEGON Championships - London Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Abierto Mexicano - Los Cabos St. Petersburg Open - St. Petersburg Qatar ExxonMobil Open - Doha ABN AMRO World Tennis Tournament - Rotterdam Geneva Open - Geneva Internazionali BNL d'Italia - Rome Serbia Open - Belgrade St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Anytech365 Andalucia Open - Marbella Stockholm Open - Stockholm Firenze Open - Florence Open Sud de France - Montpellier Zagreb Challenger Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Bucharest Open - Bucharest Belgrade Open - Belgrade Adelaide International - Adelaide Movistar Chile Open - Santiago Boss Open - Stuttgart Mallorca Championships - Mallorca Hangzhou Open - Hangzhou German Tennis Championships - Hamburg Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Kremlin Cup - Moscow Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Sony Open Tennis - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Western & Southern Open - New York Miami Open - Miami BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid Aircel Chennai Open - Chennai Bet-at-home Open - Hamburg Wimbledon - London U.S. Open - New York French Open - Paris PBZ Zagreb Indoors - Zagreb Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London French Open - Paris Cincinnati Open - Cincinnati Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open Qualifying - Doha French Open - Paris U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Australian Open - Melbourne Wimbledon - London U.S. Open - New York U.S. Open - New York French Open - Paris National Bank Open - Toronto BNP Paribas Open - Indian Wells BNP Paribas Masters - Paris Miami Open - Miami Rogers Cup - Toronto Mutua Madrid Open - Madrid Miami Open - Miami Davis Cup, Group 2, 2R, SCG-POR 5-0 Internazionali BNL d'Italia - Rome Davis Cup, Group 2, 3R, POR-SLO 4-1 Davis Cup, Group 1, 1R, LUX-POR 4-1 Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Group 2, 1R, POR-DEN 4-1 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 2R, EST-BIH 2-3 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 2R, SUI-POR 5-0 Sony Ericsson Open - Miami Davis Cup, Group II, 3R, DEN-BIH 3-2 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group II, 2R, BLR-BIH 4-1 Davis Cup, Group II, 1R, BIH-LUX 4-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 1R, BIH-GRE 3-1 Wimbledon - London Davis Cup, Group II, 2R, FIN-BIH 2-3 Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group I, 2R, BIH-NED 1-3 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, Group I, 1R, BIH-MEX 3-1 Davis Cup, Group I, PO, BUL-BIH 1-3 French Open - Paris French Open (juniors) U.S. Open (juniors) All Lower level tournaments Wimbledon - London Australian Open - Melbourne BNP Paribas Open - Indian Wells Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Wimbledon - London Wimbledon - London U.S. Open - New York French Open - Paris BNP Paribas Open - Indian Wells Davis Cup, Group I, 1R, ECU-BIH 3-2 Davis Cup, Group 2, 2R, POR-ALG 3-2 Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 French Open - Paris Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 BNP Paribas Open - Indian Wells Davis Cup, Group II, 2R, BIH-TUR 3-1 Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group I, 2R, SVK-BIH 2-3 Davis Cup, Group I, 1R, BIH-GER 0-4 Davis Cup, World Group I, 1R, TPE-BIH 3-2 Davis Cup, World Group I, PO, BIH-RSA 3-1 Davis Cup, Group I, 1R, BIH-POL 5-0 Olympics - Rio de Janeiro Davis Cup, Group I, PO, UZB-BIH 1-3 Wimbledon (juniors)